package ro.isdc.vms.party.domain;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * A company.
 * 
 * @author Andrei.Chirila
 */
public class Organisation extends Party {
	
	/**
	 * Generated Serial Version UID
	 */
	private static final long serialVersionUID = -2360702679804833715L;

	/**
	 * Organisation full name.
	 */
	private String organisationName;

	/**
	 * Organisation short name.
	 */
	private String organisationShortName;
	
	/**
	 * The contact person
	 */
	private Person contactPerson;

	/**
	 * @return the organisationName
	 */
	public String getOrganisationName() {
		return organisationName;
	}

	/**
	 * @param organisationName
	 *            the organisationName to set
	 */
	public void setOrganisationName(String organisationName) {
		this.organisationName = organisationName;
	}

	/**
	 * @return the organisationShortName
	 */
	public String getOrganisationShortName() {
		return organisationShortName;
	}

	/**
	 * @param organisationShortName
	 *            the organisationShortName to set
	 */
	public void setOrganisationShortName(String organisationShortName) {
		this.organisationShortName = organisationShortName;
	}

	/**
	 * @return the contactPerson
	 */
	public Person getContactPerson() {
		return contactPerson;
	}

	/**
	 * @param contactPerson the contactPerson to set
	 */
	public void setContactPerson(Person contactPerson) {
		this.contactPerson = contactPerson;
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).append(
				"createdBy", this.getCreatedBy()).append(
				"organisationShortName", this.organisationShortName).append(
				"organisationName", this.organisationName).append(
				"creationTimestamp", this.getCreationTimestamp()).append(
				"electronicAddresses", this.getElectronicAddresses()).append(
				"partyType", this.getPartyType()).append("entityId",
				this.getEntityId()).append("lastUpdatedBy",
				this.getLastUpdatedBy()).append("oldFlaggedTimestamp",
				this.getOldFlaggedTimestamp()).append("deletionTimestamp",
				this.getDeletionTimestamp()).append("postalAddresses",
				this.getPostalAddresses()).append("versionNo",
				this.getVersionNo())
				.append("contactPerson", this.contactPerson).append(
						"vehicleSalesLicensed", this.isVehicleSalesLicensed())
				.append("lastUpdateTimestamp", this.getLastUpdateTimestamp())
				.toString();
	}
	
}
